/* * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ package com.mysema.rdfbean.rdb; import java.io.File; import java.sql.Connection; import java.sql.SQLException; import org.h2.jdbcx.JdbcDataSource; import com.mysema.query.sql.H2Templates; import com.mysema.query.sql.SQLTemplates; import com.mysema.query.sql.codegen.DefaultNamingStrategy; import com.mysema.query.sql.codegen.MetaDataExporter; import com.mysema.query.sql.codegen.NamingStrategy; import com.mysema.rdfbean.model.MemoryIdSequence; import com.mysema.rdfbean.model.Repository; import com.mysema.rdfbean.object.Configuration; import com.mysema.rdfbean.object.DefaultConfiguration; public class SchemaExport { public static void main(String[] args) throws SQLException { JdbcDataSource ds = new JdbcDataSource(); ds.setURL("jdbc:h2:target/h2"); ds.setUser("sa"); ds.setPassword(""); Connection conn = ds.getConnection(); // export try { Configuration configuration = new DefaultConfiguration(); SQLTemplates templates = new H2Templates(); Repository repository = new RDBRepository(configuration, ds, templates, new MemoryIdSequence()); repository.initialize(); NamingStrategy namingStrategy = new DefaultNamingStrategy(); MetaDataExporter exporter = new MetaDataExporter(); exporter.setPackageName("com.mysema.rdfbean.rdb.schema"); exporter.setTargetFolder(new File("src/main/java")); exporter.setNamingStrategy(namingStrategy); exporter.export(conn.getMetaData()); } finally { conn.close(); } } }